vue interview
1、父组件和子组件之间如何实现通讯?
首先是父传子,父在使用子组件的时候,通过v-bind的形式给子组件传递数据,子组件通过 props 项接收,名称要对应。
然后是子传父,子组件可以用 this.$emit来发射事件,第二个参数就是要传递的数据,接着父组件就可以通过v-on来触发对应的事件,然后在这个触发的事件函数里,它的参数就是子组件传递过来的数据。
2、非父子关系的组件之间如何实现通讯?
可以使用一个空的vue实例作为一个事件中心,相当于中转站。然后在组件1可以使用实例点$emit来发送事件,第一个参数就是事件,第二个参数就是要传递的数据。
然后在组件2就可以使用$on来接收数据,第一个参数就是对应的事件,第二个参数就是一个回调,在回调里面就可以拿到数据了。(通过this.msg?)
比较复杂的情况可以使用 vuex 来实现。
3、单页应用有什么缺点?
4、如何解决单页应用的 SEO 优化问题?